package com.hsgene.logistics.domain;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;

import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 物流信息表
 *
 * @Author: wangxuefeng@hsgene.com
 * @Description:
 * @Date: Created in 9:42 2018/7/20
 * @Modified By:
 */
public class LogisticsInfo implements Serializable {
    /**
     * id
     */
    private String id;
    /**
     * 订单id
     */
    private String orderId;
    /**
     * 物流公司
     */
    private String expressCompany;
    /**
     * 物流编号
     */
    private String expressNumber;
    /**
     * 物流跟踪描述
     */
    private String logisticsTrackingDescription;
    /**
     * 其他描述
     */
    private String description;
    /**
     * 收件人地址
     */
    private String confirmPersonAddress;
    /**
     * 收件电话
     */
    private String confirmPersonPhone;
    /**
     * 创建人
     */
    private String creatorName;
    /**
     * 更新人
     */
    private String updateName;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 物流当前状态
     */
    private Integer expressCurrentStatus;
    /**
     * 物流结果状态
     */
    private Integer expressResultStatus;
    /**
     * 收件类型
     */
    private Integer confirmType;
    /**
     * 物流是否结束
     */
    private Integer logisticsIsEnd;
    /**
     * 物流跟踪时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date logisticsTrackingTime;
    /**
     * 创建时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createDateTime;
    /**
     * 更新时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateDateTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getExpressCompany() {
        return expressCompany;
    }

    public void setExpressCompany(String expressCompany) {
        this.expressCompany = expressCompany;
    }

    public String getExpressNumber() {
        return expressNumber;
    }

    public void setExpressNumber(String expressNumber) {
        this.expressNumber = expressNumber;
    }

    public String getLogisticsTrackingDescription() {
        return logisticsTrackingDescription;
    }

    public void setLogisticsTrackingDescription(String logisticsTrackingDescription) {
        this.logisticsTrackingDescription = logisticsTrackingDescription;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getConfirmPersonAddress() {
        return confirmPersonAddress;
    }

    public void setConfirmPersonAddress(String confirmPersonAddress) {
        this.confirmPersonAddress = confirmPersonAddress;
    }

    public String getConfirmPersonPhone() {
        return confirmPersonPhone;
    }

    public void setConfirmPersonPhone(String confirmPersonPhone) {
        this.confirmPersonPhone = confirmPersonPhone;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getExpressCurrentStatus() {
        return expressCurrentStatus;
    }

    public void setExpressCurrentStatus(Integer expressCurrentStatus) {
        this.expressCurrentStatus = expressCurrentStatus;
    }

    public Integer getExpressResultStatus() {
        return expressResultStatus;
    }

    public void setExpressResultStatus(Integer expressResultStatus) {
        this.expressResultStatus = expressResultStatus;
    }

    public Integer getConfirmType() {
        return confirmType;
    }

    public void setConfirmType(Integer confirmType) {
        this.confirmType = confirmType;
    }

    public Integer getLogisticsIsEnd() {
        return logisticsIsEnd;
    }

    public void setLogisticsIsEnd(Integer logisticsIsEnd) {
        this.logisticsIsEnd = logisticsIsEnd;
    }

    public Date getLogisticsTrackingTime() {
        return logisticsTrackingTime;
    }

    public void setLogisticsTrackingTime(Date logisticsTrackingTime) {
        this.logisticsTrackingTime = logisticsTrackingTime;
    }

    public Date getCreateDateTime() {
        return createDateTime;
    }

    public void setCreateDateTime(Date createDateTime) {
        this.createDateTime = createDateTime;
    }

    public Date getUpdateDateTime() {
        return updateDateTime;
    }

    public void setUpdateDateTime(Date updateDateTime) {
        this.updateDateTime = updateDateTime;
    }
}
